package com.snow.model;

import java.util.Date;
import java.util.List;

/**
 * 当前登录用户
 */
public interface ILoginUser  {

    Integer getId();
    /**
     * 是否系统管理员
     */
    default Boolean isSystemAdmin() {
        return false;
    }

    /**
     * 获取过期时间
     */
    Date getExpireTime();

    /**
     * 设置过期时间
     */
    void setExpireTime(Date expireTime);

    /**
     * 获取账号
     */
    String getAccount();

    /**
     * 获取姓名
     */
    String getName();

    String getPhone();

    String getClassName();

    Integer getTenantId();

    List<String> getPermissions();

    /**
     * 获取数据权限 0 或 null所有数据
     * 1 本人数据
     * 2 本部门数据
     * 3 本部门及子部门数据
     */
    Integer getDataScope();

    /**
     * 获取部门ID
     */
    Integer getDeptId();

}
